package aceim.app.dataentity; import java.util.concurrent.ScheduledFuture; import aceim.app.service.ProtocolService; public class AccountService { private final Account account; private final ProtocolService protocolService; private byte connectionAttempts; private ScheduledFuture<?> connectionTimeoutAction; public AccountService(Account account, ProtocolService protocolService) { this.account = account; this.protocolService = protocolService; } /** * @return the account */ public Account getAccount() { return account; } /** * @return the protocolService */ public ProtocolService getProtocolService() { return protocolService; } /** * @param connectionTimeoutAction the connectionTimeoutAction to set */ public void setConnectionTimeoutAction(ScheduledFuture<?> connectionTimeoutAction) { resetConnectionTimeout(); this.connectionTimeoutAction = connectionTimeoutAction; } public void resetConnectionTimeout() { if (connectionTimeoutAction != null) { connectionTimeoutAction.cancel(false); } connectionTimeoutAction = null; } public boolean isUnderConnectionMonitoring() { return connectionTimeoutAction != null; } /** * @return the connectionAttempts */ public byte getConnectionAttempts() { return connectionAttempts; } /** * @param connectionAttempts the connectionAttempts to set */ public void setConnectionAttempts(byte connectionAttempts) { this.connectionAttempts = connectionAttempts; } }